/*
** Copyright (c) 2008 Mobile GCalendarManager
**
** Permission is hereby granted, free of charge, to any person
** obtaining a copy of this software and associated documentation
** files (the "Software"), to deal in the Software without
** restriction, including without limitation the rights to use,
** copy, modify, merge, publish, distribute, sublicense, and/or sell
** copies of the Software, and to permit persons to whom the
** Software is furnished to do so, subject to the following
** conditions:
**
** The above copyright notice and this permission notice shall be
** included in all copies or substantial portions of the Software.
**
** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
** OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
** NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
** HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
** WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
** FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
** OTHER DEALINGS IN THE SOFTWARE.
*/

/**
 *
 */
package au.edu.mq.comp.itec800.mgc.lib.calendar.event;


/**
 * @author Laurent Malvert [laurent.malvert@students.mq.edu.au]
 *
 */
public enum NotificationInterval
{
  MINUTES_5 {
    @Override
    public int  toInt()
    {
      return (5);
    }
  },
  MINUTES_10 {
    @Override
    public int  toInt()
    {
      return (10);
    }
  },
  MINUTES_20 {
    @Override
    public int  toInt()
    {
      return (20);
    }
  },
  MINUTES_25 {
    @Override
    public int  toInt()
    {
      return (25);
    }
  },
  MINUTES_30 {
    @Override
    public int  toInt()
    {
      return (30);
    }
  },
  MINUTES_45 {
    @Override
    public int  toInt()
    {
      return (45);
    }
  },
  MINUTES_60 {
    @Override
    public int  toInt()
    {
      return (60);
    }
  },
  MINUTES_120 {
    @Override
    public int  toInt()
    {
      return (120);
    }
  },
  MINUTES_180 {
    @Override
    public int  toInt()
    {
      return (180);
    }
  },
  MINUTES_720 {
    @Override
    public int  toInt()
    {
      return (720);
    }
  },
  MINUTES_1440 {
    @Override
    public int  toInt()
    {
      return (1440);
    }
  },
  MINUTES_2880 {
    @Override
    public int  toInt()
    {
      return (2880);
    }
  },
  MINUTES_10080 {
    @Override
    public int  toInt()
    {
      return (10080);
    }
  };

  public abstract int toInt();


  public static void  setReminderIntervalInDays(final GNotificationManager notification,
                                                final Integer interval)
  {
    notification.setDays(interval);
  }

  public static void  setReminderIntervalInHours(final GNotificationManager notification,
                                                 final Integer interval)
  {
    notification.setHours(interval);
  }

  public static void  setReminderIntervalInMinutes(final GNotificationManager notification,
                                                   final Integer interval)
  {
    notification.setMinutes(interval);
  }
}
